Skip to main content

Central Aggregating Gateway

  • A central-purpose aggregating gateway sits between external user and multiple downstream microservices and performs call filtering and aggregation for all user interfaces.
  • Without aggregation, an user interface may have to make multiple calls to fetch required information, often throwing away data was retrieved but not needed.
  • With an aggregating gateway, we can issue a single call from the user interface to the gateway. The aggregating gateway then carries out all the required calls, combines the results into a single response, and throws away any data that the user interface doesn't need. => Aggregation/Orchestration problem^07a768

Problem

  • As more user interfaces make use of the central gateway, it becomes a central bottleneck.
  • Also, as the logic grows, who will owns the gateway?
    • If multiple team share the responsibility own owning the gateway, making changes will require coordination and slow down everyone.
  • Another problem, for the same kind of user interfaces (for example, a User Account Dashboard), we may also want to split the logic for Desktop and Mobile devices => Bloated & duplicate logic & increase risk of bottleneck.